<?php

namespace Smoren\ArrayView\Tests\Unit\Fixtures;

trait PythonDataProviders
{
    public function dataProviderForSliceInBoundsPythonAutoGenerated(): array
    {
        return [
            [[1], ':0:', []],
            [[1], '0:0:', []],
            [[1], ':0:3', []],
            [[1], '::', [1]],
            [[1], '::-5', [1]],
            [[1], '0::1', [1]],
            [[1], ':0:', []],
            [[1], '0::5', [1]],
            [[1], '0::', [1]],
            [[1], '0:0:-5', []],
            [[1], '::4', [1]],
            [[1], ':0:3', []],
            [[1], '::', [1]],
            [[1], '0:0:-5', []],
            [[1], '0:0:', []],
            [[1], '0::', [1]],
            [[1], '0:0:', []],
            [[1], '0:0:', []],
            [[1], '0:0:', []],
            [[1], '0:0:', []],
            [[1], '0::2', [1]],
            [[1], '0:0:4', []],
            [[1], '0::', [1]],
            [[1], '::-3', [1]],
            [[1], '0:0:', []],
            [[1], ':0:1', []],
            [[1], '0:0:-2', []],
            [[1], '0:0:', []],
            [[1], '::', [1]],
            [[1], '0::', [1]],

            [[1, 2, 3], '::5', [1]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '2:0:2', []],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], ':0:-4', [3]],
            [[1, 2, 3], '0:2:-3', []],
            [[1, 2, 3], '0:2:4', [1]],
            [[1, 2, 3], '0::1', [1, 2, 3]],
            [[1, 2, 3], ':2:', [1, 2]],
            [[1, 2, 3], '0::', [1, 2, 3]],
            [[1, 2, 3], ':2:5', [1]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '::5', [1]],
            [[1, 2, 3], '::4', [1]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '2::3', [3]],
            [[1, 2, 3], '0::', [1, 2, 3]],
            [[1, 2, 3], '2:2:1', []],
            [[1, 2, 3], '0:0:', []],
            [[1, 2, 3], '2::2', [3]],
            [[1, 2, 3], ':1:-2', [3]],
            [[1, 2, 3], '2:1:', []],
            [[1, 2, 3], '0:1:-5', []],
            [[1, 2, 3], '::-2', [3, 1]],
            [[1, 2, 3], '2:0:4', []],
            [[1, 2, 3], '2::', [3]],
            [[1, 2, 3], '::5', [1]],
            [[1, 2, 3], '0:2:', [1, 2]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '1::3', [2]],
            [[1, 2, 3], '1:1:2', []],
            [[1, 2, 3], ':0:', []],
            [[1, 2, 3], '1::', [2, 3]],
            [[1, 2, 3], ':1:-4', [3]],
            [[1, 2, 3], '0:0:', []],
            [[1, 2, 3], '2::', [3]],
            [[1, 2, 3], '2::-5', [3]],
            [[1, 2, 3], '::4', [1]],
            [[1, 2, 3], '1:1:3', []],
            [[1, 2, 3], ':2:', [1, 2]],
            [[1, 2, 3], ':2:-4', []],
            [[1, 2, 3], ':1:', [1]],
            [[1, 2, 3], '0:2:-3', []],
            [[1, 2, 3], '2::', [3]],
            [[1, 2, 3], '2::1', [3]],
            [[1, 2, 3], '::-5', [3]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], ':0:2', []],
            [[1, 2, 3], ':2:-3', []],
            [[1, 2, 3], '2::', [3]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '::-4', [3]],
            [[1, 2, 3], ':2:', [1, 2]],
            [[1, 2, 3], ':0:', []],
            [[1, 2, 3], ':1:', [1]],
            [[1, 2, 3], ':0:', []],
            [[1, 2, 3], '::3', [1]],
            [[1, 2, 3], '::4', [1]],
            [[1, 2, 3], '1::', [2, 3]],
            [[1, 2, 3], '1::', [2, 3]],
            [[1, 2, 3], '1::', [2, 3]],
            [[1, 2, 3], ':1:-4', [3]],
            [[1, 2, 3], ':1:', [1]],
            [[1, 2, 3], '::-1', [3, 2, 1]],
            [[1, 2, 3], '::-2', [3, 1]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '2:2:', []],
            [[1, 2, 3], '0:2:', [1, 2]],
            [[1, 2, 3], '2::', [3]],
            [[1, 2, 3], ':2:', [1, 2]],
            [[1, 2, 3], ':1:-1', [3]],
            [[1, 2, 3], ':1:-1', [3]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '2::', [3]],
            [[1, 2, 3], '2:1:1', []],
            [[1, 2, 3], '2::-2', [3, 1]],
            [[1, 2, 3], ':2:4', [1]],
            [[1, 2, 3], '1::2', [2]],
            [[1, 2, 3], '2::1', [3]],
            [[1, 2, 3], ':1:', [1]],
            [[1, 2, 3], ':1:', [1]],
            [[1, 2, 3], ':2:-4', []],
            [[1, 2, 3], ':0:1', []],
            [[1, 2, 3], '0::', [1, 2, 3]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '2:2:-1', []],
            [[1, 2, 3], '0::', [1, 2, 3]],
            [[1, 2, 3], ':1:-5', [3]],
            [[1, 2, 3], ':1:', [1]],
            [[1, 2, 3], ':0:-2', [3]],
            [[1, 2, 3], '::2', [1, 3]],
            [[1, 2, 3], ':1:-3', [3]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '0:0:', []],
            [[1, 2, 3], '1:1:', []],
            [[1, 2, 3], '1:1:', []],
            [[1, 2, 3], ':1:', [1]],
            [[1, 2, 3], '1::-3', [2]],

            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':7:-4', [9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '1::', [2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '1::-2', [2]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':0:-4', [9, 5]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '1:8:', [2, 3, 4, 5, 6, 7, 8]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':0:', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '2::', [3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '1:6:-4', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '4::-1', [5, 4, 3, 2, 1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '5::-2', [6, 4, 2]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':7:', [1, 2, 3, 4, 5, 6, 7]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '2:3:-3', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':3:', [1, 2, 3]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '8:0:-2', [9, 7, 5, 3]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::4', [1, 5, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '0:8:4', [1, 5]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':2:2', [1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '4:5:', [5]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':0:2', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':0:-5', [9, 4]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '7::5', [8]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-4', [9, 5, 1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '5::1', [6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':6:', [1, 2, 3, 4, 5, 6]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':7:', [1, 2, 3, 4, 5, 6, 7]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':6:-1', [9, 8]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '4::', [5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '2::-2', [3, 1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-3', [9, 6, 3]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '8::', [9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '7::-4', [8, 4]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-5', [9, 4]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '3::2', [4, 6, 8]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '8::5', [9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-5', [9, 4]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '5:5:-4', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':3:', [1, 2, 3]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':8:', [1, 2, 3, 4, 5, 6, 7, 8]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-2', [9, 7, 5, 3, 1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':7:', [1, 2, 3, 4, 5, 6, 7]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '6:4:', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-5', [9, 4]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-5', [9, 4]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '5::-4', [6, 2]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '2:8:-3', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '6::', [7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '1:3:2', [2]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '2:2:', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '8::-3', [9, 6, 3]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::3', [1, 4, 7]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '2::', [3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':6:-1', [9, 8]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::3', [1, 4, 7]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '0::2', [1, 3, 5, 7, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':8:5', [1, 6]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '1:7:-5', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '4::', [5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '7:7:4', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '4:4:', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':6:2', [1, 3, 5]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-1', [9, 8, 7, 6, 5, 4, 3, 2, 1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':6:', [1, 2, 3, 4, 5, 6]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':7:', [1, 2, 3, 4, 5, 6, 7]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '4:2:5', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '3::-3', [4, 1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::2', [1, 3, 5, 7, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '0::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-3', [9, 6, 3]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':4:', [1, 2, 3, 4]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':3:', [1, 2, 3]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':5:', [1, 2, 3, 4, 5]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':2:', [1, 2]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '1:8:', [2, 3, 4, 5, 6, 7, 8]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '5:8:3', [6]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':7:4', [1, 5]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':0:', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':6:', [1, 2, 3, 4, 5, 6]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '8:6:5', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::4', [1, 5, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '2::-5', [3]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '8::-4', [9, 5, 1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-5', [9, 4]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '1::3', [2, 5, 8]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '2::', [3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':8:', [1, 2, 3, 4, 5, 6, 7, 8]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '1::4', [2, 6]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':3:', [1, 2, 3]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':6:4', [1, 5]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-5', [9, 4]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '5::5', [6]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '7::', [8, 9]],
        ];
    }

    public function dataProviderForSliceOutOfBoundsPythonAutoGenerated(): array
    {
        return [
            [[1], '1:1:5', []],
            [[1], ':1:', [1]],
            [[1], '-1::4', [1]],
            [[1], ':-1:', []],
            [[1], '::3', [1]],
            [[1], '-1::-4', [1]],
            [[1], '1:-1:', []],
            [[1], '1::5', []],
            [[1], ':1:', [1]],
            [[1], ':2:4', [1]],
            [[1], '::', [1]],
            [[1], '::3', [1]],
            [[1], ':-2:2', []],
            [[1], '::', [1]],
            [[1], '2::-1', [1]],
            [[1], '::3', [1]],
            [[1], '::', [1]],
            [[1], '::5', [1]],
            [[1], ':0:-5', []],
            [[1], ':2:', [1]],
            [[1], '2:-1:', []],
            [[1], ':1:', [1]],
            [[1], ':-2:4', []],
            [[1], '::4', [1]],
            [[1], '-1::', [1]],
            [[1], '2:-1:-3', []],
            [[1], '::', [1]],
            [[1], '::', [1]],
            [[1], '-1::', [1]],
            [[1], '-1:0:', []],

            [[1, 2, 3], '6:5:', []],
            [[1, 2, 3], '0::', [1, 2, 3]],
            [[1, 2, 3], '-4::-2', []],
            [[1, 2, 3], '7::', []],
            [[1, 2, 3], '6:-3:', []],
            [[1, 2, 3], '-4:-3:', []],
            [[1, 2, 3], '5:-3:', []],
            [[1, 2, 3], '::1', [1, 2, 3]],
            [[1, 2, 3], '::-3', [3]],
            [[1, 2, 3], ':-1:', [1, 2]],
            [[1, 2, 3], '0:-5:2', []],
            [[1, 2, 3], '-6::4', [1]],
            [[1, 2, 3], '8::', []],
            [[1, 2, 3], ':-1:', [1, 2]],
            [[1, 2, 3], '-3:8:-1', []],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '-3::-3', [1]],
            [[1, 2, 3], '2::', [3]],
            [[1, 2, 3], '0:3:1', [1, 2, 3]],
            [[1, 2, 3], '::-5', [3]],
            [[1, 2, 3], '4::', []],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '6:2:1', []],
            [[1, 2, 3], '1::', [2, 3]],
            [[1, 2, 3], '::-4', [3]],
            [[1, 2, 3], '-6:-1:', [1, 2]],
            [[1, 2, 3], '3:7:-1', []],
            [[1, 2, 3], '-6:-2:', [1]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '0::', [1, 2, 3]],
            [[1, 2, 3], '8::', []],
            [[1, 2, 3], '4::', []],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '0:-2:', [1]],
            [[1, 2, 3], '::-3', [3]],
            [[1, 2, 3], '1:2:-3', []],
            [[1, 2, 3], '4::', []],
            [[1, 2, 3], '-4::4', [1]],
            [[1, 2, 3], ':-2:', [1]],
            [[1, 2, 3], '0::', [1, 2, 3]],
            [[1, 2, 3], '-2::', [2, 3]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '3::5', []],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '-1:-4:5', []],
            [[1, 2, 3], '8:5:', []],
            [[1, 2, 3], '1:1:', []],
            [[1, 2, 3], '7:2:-4', []],
            [[1, 2, 3], '2::', [3]],
            [[1, 2, 3], ':-1:-3', []],
            [[1, 2, 3], '::-5', [3]],
            [[1, 2, 3], ':-5:', []],
            [[1, 2, 3], '7:4:5', []],
            [[1, 2, 3], '-6::', [1, 2, 3]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '2:-1:4', []],
            [[1, 2, 3], '7:5:', []],
            [[1, 2, 3], '-2:5:3', [2]],
            [[1, 2, 3], '::-4', [3]],
            [[1, 2, 3], '8::', []],
            [[1, 2, 3], '2::-3', [3]],
            [[1, 2, 3], ':2:', [1, 2]],
            [[1, 2, 3], '8:4:4', []],
            [[1, 2, 3], ':4:-2', []],
            [[1, 2, 3], '-5:3:', [1, 2, 3]],
            [[1, 2, 3], '::3', [1]],
            [[1, 2, 3], ':5:', [1, 2, 3]],
            [[1, 2, 3], '5:8:1', []],
            [[1, 2, 3], ':3:1', [1, 2, 3]],
            [[1, 2, 3], ':-3:', []],
            [[1, 2, 3], ':5:-3', []],
            [[1, 2, 3], ':1:', [1]],
            [[1, 2, 3], '7::', []],
            [[1, 2, 3], ':1:', [1]],
            [[1, 2, 3], '-2:6:-5', []],
            [[1, 2, 3], '-4:5:-5', []],
            [[1, 2, 3], ':1:', [1]],
            [[1, 2, 3], ':7:', [1, 2, 3]],
            [[1, 2, 3], '3:-1:-1', []],
            [[1, 2, 3], '::-2', [3, 1]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '5:7:4', []],
            [[1, 2, 3], '6::-1', [3, 2, 1]],
            [[1, 2, 3], ':1:', [1]],
            [[1, 2, 3], ':-5:', []],
            [[1, 2, 3], '5::', []],
            [[1, 2, 3], '-5::', [1, 2, 3]],
            [[1, 2, 3], '-1::5', [3]],
            [[1, 2, 3], '::', [1, 2, 3]],
            [[1, 2, 3], '::-5', [3]],
            [[1, 2, 3], '::-1', [3, 2, 1]],
            [[1, 2, 3], ':-1:5', [1]],
            [[1, 2, 3], '8:2:-4', []],
            [[1, 2, 3], '-5:7:', [1, 2, 3]],
            [[1, 2, 3], '::2', [1, 3]],
            [[1, 2, 3], '3:-1:', []],
            [[1, 2, 3], '::', [1, 2, 3]],

            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-3', [9, 6, 3]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '8::-4', [9, 5, 1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':-8:', [1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '25::', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':11:', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '-5::', [5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':-15:-1', [9, 8, 7, 6, 5, 4, 3, 2, 1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':17:', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':0:4', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':16:', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::5', [1, 6]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':-6:', [1, 2, 3]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '6:-13:-5', [7, 2]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::2', [1, 3, 5, 7, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '21::', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':22:-5', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '-7::-3', [3]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':-3:', [1, 2, 3, 4, 5, 6]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':-3:-2', [9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '8::', [9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':22:', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '-2::-1', [8, 7, 6, 5, 4, 3, 2, 1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':8:', [1, 2, 3, 4, 5, 6, 7, 8]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '-8:13:', [2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '16::', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::4', [1, 5, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-5', [9, 4]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '-12::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '1:11:', [2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::1', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '3:9:', [4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':22:1', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '22::-2', [9, 7, 5, 3, 1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '-6:15:', [4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '-1::5', [9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '7::', [8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '11::', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '6::', [7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '9:-2:-4', [9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '15:6:', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '-5:21:-2', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::4', [1, 5, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '-15:1:', [1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':19:', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '-14:-10:5', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':-3:3', [1, 4]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::1', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '26:5:3', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '12:14:', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '20:-6:', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '4::2', [5, 7, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::2', [1, 3, 5, 7, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '-6::', [4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':-7:-4', [9, 5]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '-3::3', [7]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '8:4:3', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-4', [9, 5, 1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':4:-3', [9, 6]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '21:3:-1', [9, 8, 7, 6, 5]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':20:', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':18:5', [1, 6]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':-2:', [1, 2, 3, 4, 5, 6, 7]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '17::-1', [9, 8, 7, 6, 5, 4, 3, 2, 1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '5:11:', [6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '3:12:', [4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '-18::-4', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':21:', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-3', [9, 6, 3]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-1', [9, 8, 7, 6, 5, 4, 3, 2, 1]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':24:', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':-2:', [1, 2, 3, 4, 5, 6, 7]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-5', [9, 4]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '-14:-4:-3', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':12:', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::-3', [9, 6, 3]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::2', [1, 3, 5, 7, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::', [1, 2, 3, 4, 5, 6, 7, 8, 9]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '24::', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '22:-9:', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '::3', [1, 4, 7]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '22:5:', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':-5:1', [1, 2, 3, 4]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '18:25:', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '22:7:', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '22:25:', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':5:4', [1, 5]],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], '10::', []],
            [[1, 2, 3, 4, 5, 6, 7, 8, 9], ':5:', [1, 2, 3, 4, 5]],
        ];
    }
}

/** Python code for generating examples:

import random


def get_value_in_bounds(length: int) -> int:
return random.choice(range(0, length))


def get_value_in_bigger_interval(length: int) -> int:
return random.choice(range(-length*2, length*3))


def get_step() -> int:
return random.choice([-5, -4, -3, -2, -1, 1, 2, 3, 4, 5])


def print_examples(data: list, start, end, step):
mask = f'{start if start is not None else ""}:{end if end is not None else ""}:{step if step is not None else ""}'
s = slice(start, end, step)

result = data[s]

print(f"[{str(data)}, '{mask}', {str(result)}],")

def print_examples_in_bounds(data: list, size: int):
for i in range(size):
start = random.choice([None, get_value_in_bounds(len(data))])
end = random.choice([None, get_value_in_bounds(len(data))])
step = random.choice([None, get_step()])

print_examples(data, start, end, step)


def print_examples_out_of_bounds(data: list, size: int):
for i in range(size):
start = random.choice([None, get_value_in_bigger_interval(len(data))])
end = random.choice([None, get_value_in_bigger_interval(len(data))])
step = random.choice([None, get_step()])

print_examples(data, start, end, step)

print_examples_in_bounds([1, 2, 3], 30)
print_examples_out_of_bounds([1, 2, 3], 30)

 */
